package com.ruoyi.task.mapper;

import java.util.List;
import com.ruoyi.task.domain.TaskConfig;
import org.apache.ibatis.annotations.Param;

/**
 * 任务配置配置Mapper接口
 * 
 * @author ruoyi
 * @date 2025-04-24
 */
public interface TaskConfigMapper 
{
    /**
     * 查询任务配置配置
     * 
     * @param taskConfigId 任务配置配置主键
     * @return 任务配置配置
     */
    public TaskConfig selectTaskConfigByTaskConfigId(Long taskConfigId);

    /**
     * 查询任务配置配置列表
     * 
     * @param taskConfig 任务配置配置
     * @return 任务配置配置集合
     */
    public List<TaskConfig> selectTaskConfigList(TaskConfig taskConfig);

    /**
     * 查询任务配置配置列表
     * @param length
     * @return
     */
    public List<TaskConfig> queryTaskConfigList(@Param("length") Integer length, @Param("taskType") String taskType);

    /**
     * 新增任务配置配置
     * 
     * @param taskConfig 任务配置配置
     * @return 结果
     */
    public int insertTaskConfig(TaskConfig taskConfig);

    /**
     * 根据参数插入任务配置数据
     * @param taskConfig
     * @return
     */
    public int insertTaskConfigByParams(TaskConfig taskConfig);

    /**
     * 修改任务配置配置
     * 
     * @param taskConfig 任务配置配置
     * @return 结果
     */
    public int updateTaskConfig(TaskConfig taskConfig);

    /**
     * 删除任务配置配置
     * 
     * @param taskConfigId 任务配置配置主键
     * @return 结果
     */
    public int deleteTaskConfigByTaskConfigId(Long taskConfigId);

    /**
     * 批量删除任务配置配置
     * 
     * @param taskConfigIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTaskConfigByTaskConfigIds(Long[] taskConfigIds);

    /**
     * 批量更新任务配置状态
     * @param taskConfigIds
     * @param status
     * @param updateBy
     * @return
     */
    public int updateTaskConfigStatusByIds(@Param("taskConfigIds") Long[] taskConfigIds,
            @Param("status") String status, @Param("updateBy") String updateBy);
}
